﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel;
using System.Runtime.Serialization;

namespace Backup_IOS
{
    [Serializable]
    public class Data_Settings : INotifyPropertyChanged
    {
        private string _SSH_Host;

        public string SSH_Host
        {
            get { return _SSH_Host; }
            set { _SSH_Host = value; NotifyPropertyChanged("SSH_Host"); }
        }

        private string _SSH_UserID;
        public string SSH_UserID
        {
            get { return _SSH_UserID; }
            set { _SSH_UserID = value; NotifyPropertyChanged("SSH_UserID"); }
        }

        private string _SSH_Password;
        public string SSH_Password
        {
            get { return _SSH_Password; }
            set { _SSH_Password = value; NotifyPropertyChanged("SSH_Password"); }
        }

        private string _Local_Backup_Path;
        public string Local_Backup_Path
        {
            get { return _Local_Backup_Path; }
            set { _Local_Backup_Path = value; NotifyPropertyChanged("Local_Backup_Path"); }
        }

        private bool _Backup_AddressBook;
        public bool Backup_AddressBook
        {
            get { return _Backup_AddressBook; }
            set { _Backup_AddressBook = value; NotifyPropertyChanged("Backup_AddressBook"); }
        }

        private bool _Backup_Calendar;
        public bool Backup_Calendar
        {
            get { return _Backup_Calendar; }
            set { _Backup_Calendar = value; NotifyPropertyChanged("Backup_Calendar"); }
        }

        private bool _Backup_Photos;
        public bool Backup_Photos
        {
            get { return _Backup_Photos; }
            set { _Backup_Photos = value; NotifyPropertyChanged("Backup_Photos"); }
        }
        
        private bool _Backup_SMS;
        public bool Backup_SMS
        {
            get { return _Backup_SMS; }
            set { _Backup_SMS = value; NotifyPropertyChanged("Backup_SMS"); }
        }

        private bool _Backup_Documents;
        public bool Backup_Documents
        {
            get { return _Backup_Documents; }
            set { _Backup_Documents = value; NotifyPropertyChanged("Backup_Documents"); }
        }

        private bool _Backup_Notes;
        public bool Backup_Notes
        {
            get { return _Backup_Notes; }
            set { _Backup_Notes = value; NotifyPropertyChanged("Backup_Notes"); }
        }

        private KeyValuePair<string, Guid> _Backup_Applications;
        public KeyValuePair<string, Guid> Backup_Applications
        {
            get { return _Backup_Applications; }
            set { _Backup_Applications = value; NotifyPropertyChanged("Backup_Applications"); }
        }

        public event PropertyChangedEventHandler PropertyChanged;
        private void NotifyPropertyChanged(String propertyName)
        {
            PropertyChangedEventHandler handler = PropertyChanged;
            if (null != handler)
            {
                handler(this, new PropertyChangedEventArgs(propertyName));
            }
        }
    }
}
